'use strict';

/** @type {import('sequelize-cli').Migration} */
module.exports = {
  // 在执行数据库升级时调用的函数，创建 order 表
  async up(queryInterface, Sequelize) {
    const { INTEGER, DATE, TINYINT, DECIMAL } = Sequelize;
    await queryInterface.createTable('orders', {
      id: { type: INTEGER, primaryKey: true, autoIncrement: true },
      user_id: { //
        type: INTEGER,
        allowNull: false,
        comment: '用户id',
      },
      goods_id: {
        type: INTEGER,
        allowNull: false,
        comment: '商品id',
      },
      total: {
        type: DECIMAL(10, 2),
        allowNull: false,
        comment: '订单总金额',
      },
      status: {
        type: TINYINT,
        allowNull: false,
        defaultValue: 0,
        comment: '订单状态(0:未支付，1已支付，2已发货，3已签收，4取消)',
      },
      created_at: DATE,
      updated_at: DATE,
    });
  },
  // 在执行数据库降级时调用的函数，删除 users 表
  async down(queryInterface) {
    await queryInterface.dropTable('orders');
  },
};
